package com.bbva.gptf.back.transformador;

import java.util.Locale;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.core.convert.converter.Converter;

import com.bbva.gptf.back.dominio.Tgpt002StCarga;
import com.bbva.gptf.back.dominio.Tgpt004Fichero;
import com.bbva.gptf.back.dominio.Tgpt005BitaCarga;
import com.bbva.gptf.back.dominio.Tgpt011Usuario;
import com.bbva.gptf.dto.bean.BitacoraCarga;
import com.bbva.jee.arq.spring.core.log.I18nLog;
import com.bbva.jee.arq.spring.core.log.I18nLogFactory;

/**
 * @author Javier Estrella Rodriguez
 * @version 1.0
 * @created 07-ene-2013 18:56:31
 */
public class Tgpt005BitacoraCargaTransformador implements
		Converter<BitacoraCarga, Tgpt005BitaCarga> {

	@Autowired
	@Qualifier("locale_ES")
	private transient Locale localizacion;

	private final I18nLog log = I18nLogFactory
			.getLogI18n(Tgpt005BitacoraCargaTransformador.class);

	@Autowired
	private Tgp011UsuarioTransformador usuarioTransformador;
	@Autowired
	private Tgp002EstatusCargaTransformador estatusCargaTransformador;
	@Autowired
	private Tgp004FicheroTransformador ficheroTransformador;

	@Override
	public Tgpt005BitaCarga convert(BitacoraCarga source) {
		if (log.isTraceEnabled()) {
			log.trace(localizacion, "entrada.metodo",
					"Tgpt005BitacoraCarga convert(BitacoraCarga source)");
		}
		Tgpt005BitaCarga bitacoraCarga = new Tgpt005BitaCarga();
		Tgpt004Fichero fichero = new Tgpt004Fichero();
		fichero.setCdFichero(source.getFichero().getCdFichero());
		bitacoraCarga.setCdFichero(fichero);
		bitacoraCarga.setTpCarga(source.getTpCarga());
		bitacoraCarga.setFhCarga(source.getFhCarga());
		bitacoraCarga.setNbFichero(source.getNbFichero());
		bitacoraCarga.setNuRegistro(source.getNuRegistro());
		bitacoraCarga.setCdUsuario(new Tgpt011Usuario());
		bitacoraCarga.getCdUsuario().setCdUsuario(source.getCdUsuario());
		Tgpt002StCarga estatusCarga = new Tgpt002StCarga();
		estatusCarga.setCdEstCarga(source.getEstatusCarga().getCdEstCarga());
		bitacoraCarga.setCdEstCarga(estatusCarga);
		bitacoraCarga.setTmUmo(source.getTmUmo());
		bitacoraCarga.setFhUmo(source.getFhUmo());
		bitacoraCarga.setCdUsuarioUmo(source.getCdUsuarioUmo());
		return bitacoraCarga;
	}

	public void setEstatusCargaTransformador(
			Tgp002EstatusCargaTransformador estatusCargaTransformador) {
		this.estatusCargaTransformador = estatusCargaTransformador;
	}

	public void setFicheroTransformador(
			Tgp004FicheroTransformador ficheroTransformador) {
		this.ficheroTransformador = ficheroTransformador;
	}

	public void setLocalizacion(Locale localizacion) {
		this.localizacion = localizacion;
	}

	public void setUsuarioTransformador(
			Tgp011UsuarioTransformador usuarioTransformador) {
		this.usuarioTransformador = usuarioTransformador;
	}
}